<?php
    
    /* base module class */
    class CModule
    {
		
		var $m_hTemplate;	//uchwyt do systemu szablonow
		var $m_hDbms;		//uchwyt do bazy danych - nieuzywane
		var $m_hSession;	//uchwyt do systemu zarzadzania sesja
		
		var $m_szModName;	//nazwa modulu
		var $m_iModVer;		//wersja modulu
		
		var $m_iModId;		//numer identyfikacyjny modulu
		
		var $m_szDir;		//biezacy katalog modlu
	    
		/* initialization stuff */
		function OnInit()
		{
		    //template subsystem
		    $this->m_hTemplate = CTemplate::GetInstance();    
		}
		
		/* cleanup routines */
		function OnDestroy()
		{
		}
		
		function SetInfo($szModName,$iModVer,$iModId = '')
		{
			//nazwa modulu - uzywane w metodzie TEJ klasy do tworzenia nazwy katalogu
		    $this->m_szModName = &$szModName;
		    
		    //wersja - opcja przyszlosciowa
		    $this->m_iModVer   = &$iModVer;
		    
		    //tworzymy nazwe katalogu modulu
		    $this->m_szDir = MODULE_DIR.'/'.$szModName;
		    
		    //numer modulu - na potrzeby gornego menu
		    $this->m_iModId = $iModId;
		}
		
		//zwraca biezacy katalog modulu
		function GetModuleDir()
		{
		    return $this->m_szDir;
		}
		
		//zwraca numer modulu
		function GetModuleId()
		{
			return $this->m_iModId;
		}

		//odpala managera sesji
		function StartSession()						
		{
		    $this->m_hSession = CSession::GetInstance();
		    $this->m_hSession->Start();
		}
		
		//pobieramy wersje jezykowa
		function &GetLang() 
		{
			$hCookie = CCookie::GetInstance();
			
			$szLang = $hCookie->Get('lang',2);
			$szLang = strtoupper($szLang);
			$szLang = !empty($szLang) ? $szLang : CRequest::GetLanguage();
			
			return $szLang;
		}
		
		//ustawia jezyk serwisu w ciasteczku
		function SetLang($szLang) 
		{
			$szLang = substr($szLang,0,2);
			$szLang = strtoupper($szLang);
			
			$hCookie = CCookie::GetInstance();
			$hCookie->Set('lang',$szLang);
		}

    }
    
?>